package pers.sen.health.entity;

import java.io.Serializable;

/**
 * @author Jason
 * @version 1.0.0
 * @Description 响应数据封装
 */
public class Result implements Serializable {
    private static final long serialVersionUID = 4833790306770684137L;

    /**
     * 状态码
     */
    private int status;

    /**
     * 执行结果，true为执行成功 false为执行失败【默认成功】
     */
    private boolean flag = true;

    /**
     * 返回执行结果信息
     */
    private String message;

    /**
     * 响应的数据
     */
    private Object data;

    public Result() {
    }


    /**
     * 适用于成功的查询，只响应数据，无执行结果和信息
     *
     * @param data 响应数据
     */
    public Result(Object data) {
        this.data = data;
    }


    /**
     * 适用于增删改和失败的查询，无返回数据，定义失败查询的返回信息
     *
     * @param flag    执行结果【默认true】
     * @param message 执行信息
     */
    public Result(boolean flag, String message) {
        this.message = message;
        this.flag = flag;
    }

    /**
     * 设置所有信息
     *
     * @param flag    执行结果【默认true】
     * @param message 执行信息
     * @param data    响应数据
     */
    public Result(boolean flag, String message, Object data) {
        this.flag = flag;
        this.message = message;
        this.data = data;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "Result{" +
                "status=" + status +
                ", flag=" + flag +
                ", message='" + message + '\'' +
                ", data=" + data +
                '}';
    }
}
